package jmine.tec.database.query;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * Métodos estáticos utilitários para lidar com banco de dados
 * 
 * @author lundberg
 */
public final class DatabaseUtil {

    private static final Log LOG = LogFactory.getLog(Database.class);

    /**
     * Construtor
     */
    private DatabaseUtil() {
        // OK
    }

    /**
     * Fecha o result set, se possível, de forma silenciosa.
     * 
     * @param rs rs
     */
    public static void closeQuietly(ResultSet rs) {
        if (rs != null) {
            try {
                rs.close();
            } catch (SQLException e) {
                LOG.error(e.getMessage(), e);
            }
        }
    }

    /**
     * Fecha o statment, se possível, de forma silenciosa.
     * 
     * @param st st
     */
    public static void closeQuietly(Statement st) {
        if (st != null) {
            try {
                st.close();
            } catch (SQLException e) {
                LOG.error(e.getMessage(), e);
            }
        }
    }
}
